package com.hiultra.archive.service;

import java.util.List;

import com.hiultra.archive.domain.ArchiveBorrow;
import com.hiultra.archive.domain.ArchiveStocktakingBox;
import com.hiultra.common.core.domain.AjaxResult;

/**
 * 盒盘点上送结果数据Service接口
 *
 * @author paidaxing
 * @date 2024-07-31
 */
public interface IArchiveStocktakingBoxService
{
    /**
     * 查询盒盘点上送结果数据
     *
     * @param id 盒盘点上送结果数据主键
     * @return 盒盘点上送结果数据
     */
    public ArchiveStocktakingBox selectArchiveStocktakingBoxById(String id);

    /**
     * 查询盒盘点上送结果数据列表
     *
     * @param archiveStocktakingBox 盒盘点上送结果数据
     * @return 盒盘点上送结果数据集合
     */
    public List<ArchiveStocktakingBox> selectArchiveStocktakingBoxList(ArchiveStocktakingBox archiveStocktakingBox);

    /**
     * 查询盒盘点上送结果数据列表盘盈和盘亏
     *
     * @param archiveStocktakingBox 盒盘点上送结果数据
     * @return 盒盘点上送结果数据集合
     */
    public List<ArchiveStocktakingBox> selectArchiveStocktakingBoxListReport(ArchiveStocktakingBox archiveStocktakingBox);

    /**
     * 新增盒盘点上送结果数据
     *
     * @param archiveStocktakingBox 盒盘点上送结果数据
     * @return 结果
     */
    public int insertArchiveStocktakingBox(ArchiveStocktakingBox archiveStocktakingBox);

    /**
     * 修改盒盘点上送结果数据
     *
     * @param archiveStocktakingBox 盒盘点上送结果数据
     * @return 结果
     */
    public int updateArchiveStocktakingBox(ArchiveStocktakingBox archiveStocktakingBox);

    /**
     * 批量删除盒盘点上送结果数据
     *
     * @param ids 需要删除的盒盘点上送结果数据主键集合
     * @return 结果
     */
    public int deleteArchiveStocktakingBoxByIds(String[] ids);

    /**
     * 删除盒盘点上送结果数据信息
     *
     * @param id 盒盘点上送结果数据主键
     * @return 结果
     */
    public int deleteArchiveStocktakingBoxById(String id);

    /**
     * 批量新增盒盘点上送结果数据
     *
     * @param archiveStocktakingBoxList 档案盒盘点数据列表
     * @return 结果
     */
    public int batchinsertArchiveStocktakingBox(List<ArchiveStocktakingBox> archiveStocktakingBoxList);

    /**
     * 根据任务id查询盒详情
     * @param taskId
     * @return
     */
    public List<ArchiveStocktakingBox> selectBoxByTaskId(String taskId);

    /**
     * 后台用接口——新增盒盘点上送结果数据
     * @param archiveStocktakingBox
     * @return
     */
    public AjaxResult insertStocktakingBox(ArchiveStocktakingBox archiveStocktakingBox);

    /**
     * 修改盒盘点上送结果数据
     * @param archiveStocktakingBox
     * @return
     */
    public int  editStocktakingBox(ArchiveStocktakingBox archiveStocktakingBox);
}
